<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://www.xinyuan.com/" elementFormDefault="qualified" targetNamespace="http://www.xinyuan.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="AddRole">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="role" nillable="true" type="tns:Role" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="Role">
    <xs:sequence>
      <xs:element minOccurs="0" name="Descrition" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FunctionStr" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Role" nillable="true" type="tns:Role" />
  <xs:element name="AddRoleResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AddRoleResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetRoles">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetRolesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetRolesResult" nillable="true">
          <xs:complexType>
            <xs:annotation>
              <xs:appinfo>
                <ActualType Name="DataSet" Namespace="http://schemas.datacontract.org/2004/07/System.Data" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
              </xs:appinfo>
            </xs:annotation>
            <xs:sequence>
              <xs:element ref="xs:schema" />
              <xs:any />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateRoleDataSet">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="ds" nillable="true">
          <xs:complexType>
            <xs:annotation>
              <xs:appinfo>
                <ActualType Name="DataSet" Namespace="http://schemas.datacontract.org/2004/07/System.Data" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
              </xs:appinfo>
            </xs:annotation>
            <xs:sequence>
              <xs:element ref="xs:schema" />
              <xs:any />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" name="tableIndex" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateRoleDataSetResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="UpdateRoleDataSetResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Insert">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="role" nillable="true" type="tns:Role" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="InsertResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="InsertResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Update">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="role" nillable="true" type="tns:Role" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="UpdateResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Delete">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="roleId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="DeleteResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateFunction">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="role" nillable="true" type="tns:Role" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateFunctionResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="UpdateFunctionResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetFunctionById">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="id" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetFunctionByIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetFunctionByIdResult" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetFunctionByOperatorId">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="id" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetFunctionByOperatorIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetFunctionByOperatorIdResult" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>